package 正则表达式;

public class Demo01 {
    /*
    正则表达式
            字符类：
                [abc]：只能是abc
                [^abc]：除了abc之外的字符
                [a-zA-Z]:a到z包括A-Z
                [a-d[m-p]]：a到d或m通过p
                [a-z&&[^bc]]:   a到z除了b和c
                [a-z&&[^m-p]]:a到z,除了m-p

            预定义的字符类：(默认匹配一个字符)
                .任何字符
                \d 一个数字 ：[0-9]
                \D: 非数字[^0-9]
                \s  一个空白字符[\t\n\x0B\f\r]
                \S  非空白字符[^\s]
                \w [a-zA-Z_0-9]英文、数字下划线
                \W [^\w]一个非单词字符

             贪婪的量词（匹配多个字符）
                X？ X，一次或根本不
                X*   X,零次或多次（任意次数）
                X+  x，一次或多次
                X[n, ]  X,至少n次
                X[n,m]  X，至少n但是不超过m次
     */
    public static void main(String[] args) {
        String regex = "[abc]";
        System.out.println("a".matches(regex));
        String regex2 = "\\d";
        System.out.println("1".matches(regex2));
        //手机号正则
        String phone = "[1][3-9]\\d{9}";
        //邮箱正则
        String email = "\\w+[@][\\w&&[^_]]+(\\.[a-z]{2,3})+";
        System.out.println("zhangsan@xxx.edu".matches(email));

        String s = "先帝1创业2未半而中道3崩殂4，今5天下三分6，益州疲弊7，此8诚危急存亡之秋也。然9侍卫之臣不懈于内，忠志之士忘身10于外者，盖追先帝之殊遇11，欲报之于陛下也。诚宜12开张圣听13，以光14先帝遗德，恢弘15志士之气，不宜妄自菲薄16，引喻失义17，以塞忠谏之路也18。\n" +
                "宫中府中，俱为一体19；陟罚臧否20，不宜异同：若有作奸犯科21及为忠善者22，宜付有司23论其刑赏24，以昭陛下平明之理25；不宜偏私26，使内外异法也27。\n" +
                "侍中、侍郎郭攸之、费祎、董允等，此皆良实，志虑忠纯28，是以先帝简拔以遗陛下29：愚以为宫中之事，事无大小，悉以咨之30，然后施行，必能裨补阙漏31，有所广益32。";

        s = s.replaceAll("\\d","");
        System.out.println(s);


    }
    /*

    String类中与正则有关的常见方法
        public String replaceAll(String regex, String newStr)
     */


}
